home *** CD-ROM | disk | FTP | other *** search
- <?xml version="1.0" encoding="UTF-8" ?>
- <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
- <?xml-stylesheet type="text/xsl" href="./style/manual.es.xsl"?>
- <!-- English Revision: 1.3.2.6 -->
-
- <!--
- Copyright 2004 The Apache Software Foundation
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- -->
-
- <manualpage metafile="handler.xml.meta">
-
- <title>Uso de los Handlers en Apache</title>
-
- <summary>
- <p>Este documento describe el uso de los Handlers en Apache.</p>
- </summary>
-
- <section id="definition">
- <title>┬┐Qué es un Handler?</title>
- <related>
- <modulelist>
- <module>mod_actions</module>
- <module>mod_asis</module>
- <module>mod_cgi</module>
- <module>mod_imap</module>
- <module>mod_info</module>
- <module>mod_mime</module>
- <module>mod_negotiation</module>
- <module>mod_status</module>
- </modulelist>
- <directivelist>
- <directive module="mod_actions">Action</directive>
- <directive module="mod_mime">AddHandler</directive>
- <directive module="mod_mime">RemoveHandler</directive>
- <directive module="core">SetHandler</directive>
- </directivelist>
- </related>
-
-
- <p>Un "handler" es una representación interna de Apache de
- una acción que se va a ejecutar cuando hay una llamada a un
- fichero. Generalmente, los ficheros tienen handlers
- implícitos, basados en el tipo de fichero de que se
- trata. Normalmente, todos los ficheros son simplemente servidos
- por el servidor, pero algunos tipos de ficheros se tratan de forma
- diferente.</p>
-
- <p>Apache 1.1 añade la posibilidad de usar handlers
- explicitamente. Basándose en la extension del fichero o en
- la ubicación en la que este, se pueden especificar handlers
- sin tener en cuenta el tipo de fichero de que se trate. Esto es
- una ventaja por dos razones. Primero, es una solución
- más elegante. Segundo, porque a un fichero se le pueden
- asignar tanto un tipo <strong>como</strong> un handler. (Consulte
- también la sección <a
- href="mod/mod_mime.html#multipleext">Ficheros y extensiones
- múltiples</a>.)</p>
-
- <p>Los Handlers pueden ser tanto ser compilados con el servidor
- como incluidos en un módulo, como añadidos con la
- directiva <directive module="mod_actions">Action</directive>. Los
- handlers compilados con el servidor de la distribución
- estándar de Apache son:</p>
-
- <ul>
- <li><strong>default-handler</strong>: Envía el fichero
- usando el <code>default_handler()</code>, que es el handler
- usado por defecto para tratar contenido
- estático. (core)</li>
-
- <li><strong>send-as-is</strong>: Envía el fichero con
- cabeceras HTTP tal y como es. (<module>mod_asis</module>)</li>
-
- <li><strong>cgi-script</strong>: Trata el fichero como un sript
- CGI. (<module>mod_cgi</module>)</li>
-
- <li><strong>imap-file</strong>: Trata el fichero como un mapa de
- imágenes. (<module>mod_imap</module>)</li>
-
- <li><strong>server-info</strong>: Extrae la información de
- configuración del
- servidor. (<module>mod_info</module>)</li>
-
- <li><strong>server-status</strong>: Extrae el informe de estado
- del servidor. (<module>mod_status</module>)</li>
-
- <li><strong>type-map</strong>: Trata el fichero como una
- correspondencia de tipos para la negociación de contenidos.
- (<module>mod_negotiation</module>)</li> </ul> </section>
-
- <section id="examples"> <title>Ejemplos</title>
-
- <section id="example1">
- <title>Modificar contenido estático usando un script
- CGI</title>
-
- <p>Las siguientes directivas hacen que cuando haya una
- petición de ficheros con la extensión
- <code>html</code> se lance el script CGI
- <code>footer.pl</code>.</p>
-
- <example>
- Action add-footer /cgi-bin/footer.pl<br/>
- AddHandler add-footer .html
- </example>
-
- <p>En este caso, el script CGI es el responsable de enviar el
- documento originalmente solicitado (contenido en la variable de
- entorno <code>PATH_TRANSLATED</code>) y de hacer cualquier
- modificación o añadido deseado.</p>
-
- </section>
- <section id="example2">
- <title>Archivos con cabaceras HTTP</title>
-
- <p>Las siguientes directivas activan el handler
- <code>send-as-is</code>, que se usa para ficheros que contienen
- sus propias cabeceras HTTP. Todos los archivos en el directorio
- <code>/web/htdocs/asis/</code> serán procesados por el
- handler <code>send-as-is</code>, sin tener en cuenta su
- extension.</p>
-
- <example>
- <Directory /web/htdocs/asis><br/>
- SetHandler send-as-is<br/>
- </Directory>
- </example>
-
- </section>
- </section>
- <section id="programmer">
- <title>Nota para programadores</title>
-
- <p>Para implementar las funcionalidades de los handlers, se ha
- hecho un añadido a la <a href="developer/API.html">API de
- Apache</a> que puede que quiera usar. Para ser más
- específicos, se ha añadido un nuevo registro a la
- estructura <code>request_rec</code>:</p>
-
- <example>
- char *handler
- </example>
-
- <p>Si quiere que su módulo llame a un handler , solo tiene
- que añadir <code>r->handler</code> al nombre del handler
- en cualquier momento antes de la fase <code>invoke_handler</code>
- de la petición. Los handlers se implementan siempre como se
- hacía antes, aunque usando el nombre del handler en vez de un
- tipo de contenido. Aunque no es de obligado cumplimiento, la
- convención de nombres para los handlers es que se usen
- palabras separadas por guiones, sin barras, de manera que no se
- invada el media type name-space.</p>
- </section>
- </manualpage>
-
-
-
-
-
-
-